Recursion হল একটি প্রোগ্রামিং কৌশল যেখানে একটি ফাংশন নিজেকে কল করে। এখানে আমরা দুইটি ক্লাসিক উদাহরণ দেখবো: ফ্যাক্টরিয়াল এবং ফিবোনাচ্চি সিরিজ।
১. ফ্যাক্টরিয়াল (Factorial)
ফ্যাক্টরিয়াল একটি সংখ্যার গুণফল যেটি 1 থেকে সেই সংখ্যাটির মধ্যে যত সংখ্যার আছে। ফ্যাক্টরিয়াল n! কে n * (n-1)! দ্বারা প্রকাশ করা হয়, এবং 0! এর মান 1।
C প্রোগ্রামে ফ্যাক্টরিয়াল উদাহরণ
#include <stdio.h>
// Recursive function to calculate factorial
int factorial(int n) {
// Base case
if (n == 0) {
return 1; // 0! is 1
}
// Recursive case
return n * factorial(n - 1); // n! = n * (n-1)!
}
int main() {
int number = 5;
printf("Factorial of %d is %d\n", number, factorial(number));
return 0;
}
২. ফিবোনাচ্চি সিরিজ (Fibonacci Series)
ফিবোনাচ্চি সিরিজ একটি সংখ্যার সিরিজ যেখানে প্রথম দুইটি সংখ্যা হল 0 এবং 1। পরবর্তী সংখ্যা দুটি পূর্ববর্তী সংখ্যার যোগফল। এটি F(n) = F(n-1) + F(n-2) দ্বারা প্রকাশ করা হয়।
C প্রোগ্রামে ফিবোনাচ্চি সিরিজ উদাহরণ
#include <stdio.h>
// Recursive function to calculate Fibonacci number
int fibonacci(int n) {
// Base cases
if (n == 0) {
return 0; // F(0) is 0
} else if (n == 1) {
return 1; // F(1) is 1
}
// Recursive case
return fibonacci(n - 1) + fibonacci(n - 2); // F(n) = F(n-1) + F(n-2)
}
int main() {
int number = 6;
printf("Fibonacci of %d is %d\n", number, fibonacci(number));
return 0;
}
৩. উদাহরণ বিশ্লেষণ
ফ্যাক্টরিয়াল উদাহরণ বিশ্লেষণ:
- বেস কেস: যখন
n0 হয়, তখন ফাংশনটি 1 ফেরত দেয়। - রিকার্সিভ কেস: ফাংশনটি
nএর মানের উপর ভিত্তি করে নিজেকে কল করেn * factorial(n - 1)।
ফিবোনাচ্চি উদাহরণ বিশ্লেষণ:
- বেস কেস: যখন
n0 অথবা 1 হয়, তখন যথাক্রমে 0 এবং 1 ফেরত দেয়। - রিকার্সিভ কেস: ফাংশনটি
nএর জন্য পূর্ববর্তী দুটি ফিবোনাচ্চি সংখ্যা হিসাব করে, অর্থাৎfibonacci(n - 1)এবংfibonacci(n - 2)এর যোগফল।
Content added By
Read more